home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
351-375
/
373
/
multiplot
/
source
/
mplot_src
/
src.zoo
/
texted.c
< prev
next >
Wrap
C/C++ Source or Header
|
1990-08-02
|
2KB
|
95 lines
#include <stdio.h>
#include <exec/types.h>
#include "struct.h"
#include "plot.h"
#include "Texted.h"
extern struct Window *FrontWindow;
extern struct Screen *screen;
extern struct NewWindow NewFrontWindow;
extern struct RastPort *p;
extern struct ViewPort *vp;
extern struct Pict *Pict;
#define GO 1
#define STOP 0
#define ON TRUE
int QuitTextFlag=GO;
EditText(text)
char *text;
{
struct IntuiMessage *a_message; /* pointer to message */
void ProcTextMes();
NewFrontWindow.Screen = screen;
NewFrontWindow.Title =" Edit Text ";
stccpy(TextSIBuff,text,79);
NewFrontWindow.FirstGadget = &TextContinue;
if (!(FrontWindow = (struct Window *)OpenWindow(&NewFrontWindow)))
{
ErrorAlert(0);
CloseScreen(screen);
sexit(FALSE);
}
ActivateGadget(&TextEd,FrontWindow,NULL);
p = FrontWindow->RPort;
QuitTextFlag=GO; /*** RESET FLAG IN CASE NOT FIRST TIME ***/
while (QuitTextFlag !=STOP)
{
Wait(1l<<FrontWindow->UserPort->mp_SigBit); /* wait for a message */
while (a_message = (struct IntuiMessage *)GetMsg(FrontWindow->UserPort))
ProcTextMes(a_message);
}
CloseWindow(FrontWindow);
stccpy(text,TextSIBuff,79);
return(0);
}
void ProcTextMes(p_message)
struct IntuiMessage *p_message;
{
ULONG MesClass; /* Fields for storing */
USHORT MesCode; /* intuimessage data */
APTR Pointer; /* */
int HandleTextEvent();
MesClass = p_message->Class; /* Store values */
MesCode = p_message->Code;
Pointer = p_message->IAddress;
ReplyMsg(p_message); /* Reply to message */
HandleTextEvent(MesClass,MesCode,Pointer);
}
int HandleTextEvent(MesClass,MesCode,Pointer)
ULONG MesClass; /* Fields for storing */
USHORT MesCode; /* intuimessage data */
APTR Pointer; /* */
{
if ( MesClass == GADGETDOWN)
{
if (Pointer == (APTR)&TextContinue)
{
QuitTextFlag=STOP;
}
}
if ( MesClass == RAWKEY)
{
if (MesCode ==196) /* RETURN key RELEASED */
{
QuitTextFlag = STOP;
}
}
return(0);
}